#pragma once

/// @class Singleton
/// @brief 单例 实例模板基类
/// @notice
///  自动初始化的单体模板
template <typename T>
class Singleton
{
public:
	/// @brief 返回实例指针
	static T& getSingleton( void )
	{
		static T inst;
		return inst;  
	}

	/// @brief 返回实例指针
	static T* getSingletonPtr( void )
	{
		return &getSingleton();  
	}
};